1. Field of the Invention
This invention relates to a method for managing networked devices such as printers, and in particular, it relates to a method for device discovery and device status update polling.
2. Description of Related Art
In a networked system where a number of devices such as printers are managed by a computer connected to the printers via a network such as LAN, WAN, etc., the computer periodically performs printer discovery and printer status update functions. Printer discovery is carried out to discover all printers on the network that are supported by the computer; printer status update is carried out to monitor the status and health of the already discovered printers. Printer status update involves sending status information queries to printers to gather information such as device status, consumable resource levels, detailed error condition information, etc. Conventional printer discovery and printer status update polling methods use an SNMP (Simple Network Management Protocol) broadcast-based method, where the computer sends a broadcast packet out on the network and waits a fixed amount of time for a response from all devices on a given subnet.
Conventionally, the printer discovery and printer status update polling routines are conducted on the same time interval due to thread safety concerns. In a system where a computer communicates with networked devices using SNMP broadcasts, if two or more separate software functions (routines) attempt to make SNMP calls out onto the network, the computer may be unable to discern which calling function to return the correct response data to. A procedure having such separate functions is considered non-thread-safe. Thus, to ensure thread safety, printer discovery and printer status update functions (which both make SNMP broadcast calls) are performed back-to-back and at the same time interval, so that only one function will be making SNMP calls at a given time.